Virtual hard media imaging

ABSTRACT

The presently disclosed technology teaches using a tilt-sensitive virtual marking implement to render an impression on an electronic presentation device. Further, a bearing measurement and a tilt measurement of the virtual marking implement are made with respect to the surface. The tilt and bearing are then used to vary geometry of an impression profile associated with the physical marking implement as well as an intensity of the rendering. A user may actively vary the impression profile while he or she produces strokes of the virtual marking implement across the surface without changing the physical marking implement selection or switching to a different virtual marking implement. When creating a rendering on a virtual canvas using the virtual marking implement and the surface, a user may wish to vary an orientation of the virtual marking implement so that a corresponding impression profile mimics an impression of a selected physical marking implement.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation of U.S. patent application Ser. No.12/464,943, filed May 13, 2009, now U.S. Pat. No. 8,493,340, whichclaims the benefit under 35 USC 119(e) of prior co-pending U.S.Provisional Patent Application No. 61/145,470, filed Jan. 16, 2009, thedisclosure of which is hereby incorporated by reference in its entirety.

This application is also related to U.S. Non-provisional applicationSer. No. 12/684,612, entitled “Virtual Faceted Hard Media Imaging” filedJan. 8, 2010, and U.S. Non-provisional application Ser. No. 12/684,653,entitled “Temporal Hard Media Imaging” filed Jan. 8, 2010.

BACKGROUND

Various software and hardware tools provide users the ability to createcomputer rendered images using techniques that replicate physicaltechniques of creating physical images. These software tools includevirtual marking implements that model tip geometries associated withvarious physical marking implements (e.g. pencils, felt pens, crayons,markers, chalk, erasers, charcoal, pastels, colored pencils,scraperboard tools (i.e. knives, cutters, gauges), conte crayons, andsilverpoint). Further, these hardware tools include an electronic styluscombined with an electronic tablet that can approximate the physicalfeel of the various marking implements and enable the user to emulatemovements of a physical marking implement on a surface (e.g. paper,canvas, whiteboard, and chalkboard).

In order to change the tip geometry, the user is typically required toselect a different virtual marking implement or modify the tip geometryof the selected virtual marking implement within the software tools.However, in other implementations, the user physically utilizesdifferent electronic styluses that correspond to different tipgeometries.

Other implementations have used angle, pressure, tilt, velocity, andother motions of the electronic stylus to vary the size and/or overallopacity of an impression profile associated with the selected physicalmarking implement. However, past software tools do not vary the geometryand/or intensity of the impression profile (e.g. intensity distribution)based on an angle of the electronic stylus applied to the electronictablet to model a physical marking implement oriented at the angle.

SUMMARY

The presently disclosed technology teaches a virtual marking implement(e.g. an electronic stylus) with an accelerometer or other way ofdetermining a tilt angle of the virtual marking implement with respectto a surface. Further, the presently disclosed technology teachesdetermining a bearing of the virtual marking implement with respect tothe surface. The angle and bearing are then used to vary geometry of animpression profile associated with a selected physical marking implementas well as the intensity of a rendering on an electronic presentationdevice.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter. Otherfeatures, details, utilities, and advantages of the claimed subjectmatter will be apparent from the following more particular writtenDetailed Description of various implementations and implementations asfurther illustrated in the accompanying drawings and defined in theappended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The presently disclosed technology is best understood from the followingDetailed Description describing various implementations read inconnection with the accompanying drawings.

FIG. 1A shows an example physical marking implement with a conical tiporiented vertically with respect to a horizontal tablet surface and acorresponding impression profile on the tablet surface.

FIG. 1B shows an example physical marking implement with a conical tiporiented at 40 degrees from vertical with respect to a horizontal tabletsurface and a corresponding impression profile on the tablet surface.

FIG. 1C shows an example physical marking implement with a conical tiporiented at 80 degrees from vertical with respect to a horizontal tabletsurface and a corresponding impression profile on the tablet surface.

FIG. 2A shows an example physical marking implement with a flat tiporiented vertically with respect to a horizontal tablet surface and acorresponding impression profile on the tablet surface.

FIG. 2B shows an example physical marking implement with a flat tiporiented at 45 degrees from vertical with respect to a horizontal tabletsurface and a corresponding impression profile on the tablet surface.

FIG. 2C shows an example physical marking implement with a flat tiporiented horizontally with respect to a horizontal tablet surface and acorresponding impression profile on the tablet surface.

FIG. 3A shows an example virtual marking implement with a round tiporiented vertically with respect to a horizontal tablet surface and acorresponding impression profile on the tablet surface.

FIG. 3B shows an example virtual marking implement with a round tiporiented 45 degrees from vertical with respect to a horizontal tabletsurface and a corresponding impression profile on the tablet surface.

FIG. 3C shows an example virtual marking implement with a round tiporiented horizontally with respect to a horizontal tablet surface and acorresponding impression profile on the tablet surface.

FIG. 4A is a plan view of an example virtual marking system with avirtual tablet and a virtual marking implement with a point of contactposition measured in an x-direction and a y-direction.

FIG. 4B is an elevation view of the example virtual marking system ofFIG. 4 illustrating a tilt of the virtual marking implement in thex-direction.

FIG. 4C is an elevation view of the example virtual marking system ofFIG. 4 illustrating a tilt of the virtual marking implement in they-direction.

FIG. 5A is an elevation view of a conical tip of an example physicalmarking implement oriented vertically, at 40 degrees, and at 80 degrees,successively.

FIG. 5B is an example graph illustrating relationships between tiltangle and scale factor of a corresponding bitmap of the conical tip ofFIG. 5A.

FIG. 5C is an example graph illustrating relationships between tiltangle and offset of a center of intensity of the conical tip of FIG. 5A.

FIG. 6A is an elevation view of a flat tip of an example physicalmarking implement oriented vertically, at 45 degrees, and at 90 degrees,successively.

FIG. 6B is an example graph illustrating relationships between tiltangle and scale factor of a corresponding bitmap of the flat tip of FIG.6A.

FIG. 6C is an example graph illustrating relationships between tiltangle and offset of a center of intensity of the flat tip of FIG. 6A.

FIG. 7A is an elevation view of a round tip of an example physicalmarking implement oriented vertically, at 45 degrees, and at 90 degrees,successively.

FIG. 7B is an example graph illustrating relationships between tiltangle and scale factor of a corresponding bitmap of the round tip ofFIG. 7A.

FIG. 7C is an example graph illustrating relationships between tiltangle and offset of a center of intensity of the round tip of FIG. 7A.

FIG. 8A shows an example physical marking implement with a conical tiporiented vertically with respect to a horizontal tablet surface and acorresponding bitmap.

FIG. 8B shows an example physical marking implement with a conical tiporiented at 40 degrees from vertical with respect to a horizontal tabletsurface and a corresponding bitmap.

FIG. 8C shows an example physical marking implement with a conical tiporiented at 80 degrees from vertical with respect to a horizontal tabletsurface and a corresponding bitmap.

FIG. 9 shows an example look-up table for impression profiles indexed bytilt, bearing, and type of physical marking implement.

FIG. 10 is a flow chart illustrating an example process for creatingimpression bitmaps based on impression profiles defined by tilt andbearing of a selected physical marking tool.

FIG. 11 is a flow chart illustrating an example process for rendering animpression profile based on tilt and bearing of a selected physicalmarking tool.

FIG. 12 illustrates an example computing system that can be used toimplement the described technology.

DETAILED DESCRIPTIONS

Current electronic styluses fail to adequately model the effect ofaltering an angle of the electronic stylus with respect to a tablet onan intensity distribution of a selected physical marking implement.Thus, the presently disclosed technology teaches an virtual markingimplement or a tilt sensitive input device (e.g. an electronic stylus)with an accelerometer or other way of determining a tilt angle and/or abearing of the virtual marking implement when applied to a tabletsurface (e.g. an electronic tablet). Further, the presently disclosedtechnology teaches determining bearing of the virtual marking implementwith respect to the tablet surface. The angle and bearing are then usedto vary geometry of an impression profile associated with the selectedphysical marking implement as well as the intensity distribution of arendering on an electronic presentation device.

In a further implementation, an accelerometer based virtual markingimplement that does not utilize tablet surface or other surface (e.g.wiimote for Nintendo Wii®) may be used to model the effect of alteringan angle and/or bearing of the virtual marking implement on an intensitydistribution of a selected physical marking implement. In anotherimplementation, a haptic device (e.g. a virtual marking implementconnected to an arm that provides a user force, vibration, and/or motionfeedback) may be used to model the effect of altering an angle and/orbearing of the haptic device on an intensity distribution of a selectedphysical marking implement.

As a result, a user may actively vary the impression profile while he orshe produces strokes of the virtual marking implement across the tabletsurface without the need to change the physical marking implementselection or switch to a different virtual marking implement. Physicalmarking implements are described below in varying levels of detail andinclude, but are not limited to, chalk, markers, pencils, charcoal,erasers, crayons, pastels, felt pens, colored pencils, scraperboardtools (i.e. knives, cutters, gauges), conte crayons, silverpoint, andany solid marking implement that doesn't have hairs (i.e. non-brushes).

When creating a rendering on a virtual canvas using the virtual markingimplement and the tablet surface, a user may wish to vary the tipgeometry of the virtual marking implement so that a correspondingimpression profile mimics an impression of a corresponding physicalmarking implement at a corresponding orientation. The user may tilt thevirtual marking implement with respect to the tablet surface at avariety of tilt angles to achieve a desired impression. FIGS. 1A-1C(described in detail below) illustrate three example tilt angles (0°,30°, and 60° with respect to a vertical axis) of the virtual markingimplement 104 and three corresponding impression profiles 112, 116, 120that are detail plan views of contact areas 128 (i.e. areas whereconical tip 140 of the virtual marking implement 104 is in contact withthe tablet surface 108). In some implementations, the tilt angle of thevirtual marking implement 104 equals the tilt angle of a correspondingphysical marking implement 124.

However, in the implementations shown in FIGS. 1A-1C, the correspondingphysical marking implement 124 has a tilt angle that exceeds the tiltangle of the virtual marking implement 104. In FIG. 1A, the virtualmarking implement 104 has zero tilt angle and mimics a physical markingimplement 124 also with zero tilt angle. In FIG. 1B, however, thevirtual marking implement 104 has a 30 degree tilt angle, while thecorresponding physical marking implement 124 has a 40 degree tilt angle.Further, in FIG. 1C, the virtual marking implement 104 has a 60 degreetilt angle, while the corresponding physical marking implement 124 hasan 80 degree tilt angle.

This enables the user to achieve a wide range of impression profileseven when the ability to detect tilt angles of the virtual markingimplement 104 is limited. Further, the user may want to model animpression profile of the physical marking implement 124 without havingto tilt the virtual marking implement 104 as much as would be requiredwith the physical marking implement 124. In another implementation, oncethe tilt angle of the virtual marking implement 104 reaches the limit oftilt angle detection, a maximum tilt angle impression profile may beselected (e.g., an 80° to 90° tilt angle).

Conversely, the user may wish the tilt angle of the virtual markingimplement 104 to exceed the corresponding tilt angle of the physicalmarking implement 124. The user may desire this option to improve his orher accuracy in selecting a desired impression profile based on tiltangle of the virtual marking implement 104. More specifically, greaterhand movements of the virtual marking implement 104 mimic smaller handmovements of a corresponding physical marking implement 124.

In other implementations, the impression profile may change at userperceptible tilt angle steps (e.g., an impression profile change forevery 5 degrees of tilt). In another implementation, the tilt anglesteps may be so small that the impression profile may appear to changeuniformly (i.e. imperceptible tilt angle steps).

FIG. 1A shows an example physical marking implement 124 with a conicaltip 140 oriented vertically with respect to a horizontal tablet surface108 and a corresponding impression profile 112 on the tablet surface108. When the virtual marking implement 104 has zero tilt, as in FIG.1A, the resulting impression profile 112 is circular with an area ofgreater intensity 132 in the center of the impression profile 112 and auniformly fading intensity with distance from the center of theimpression profile 112 to an outer edge, here an outer diameter, of theimpression profile 112. This impression profile 112 is intended to modela contact area between an implement surface of a pointed physicalmarking implement tip 140 (e.g., a pencil) and a marking surface wherethe mark is strongest where the pressure is the greatest, at a center ofa point of the physical marking implement 124 contacting a surface andthe intensity quickly fades to zero as the pressure fades to zero awayfrom the center of pressure.

FIG. 1B shows an example physical marking implement 124 with a conicaltip 140 oriented at 40 degrees from vertical with respect to ahorizontal tablet surface 108 and a corresponding impression profile 116on the tablet surface 108. When the virtual marking implement 104 hassome tilt (e.g., 30 degrees as shown in FIG. 1B), the resultingimpression profile 116 becomes oblong in a direction of the tilt withthe area of greater intensity 132 becoming offset from the center of theimpression profile 116 away from the direction of tilt. The impression116 remains symmetrical about an axis parallel to the tablet surface 108oriented in the direction of the tilt of the virtual marking implement104. Similar to impression profile 112, impression profile 116 fades inintensity with distance from the area of greater intensity 132 of theimpression profile 116 to an outer edge of the impression profile 116.However, since impression profile 116 is oblong and the area of greaterintensity 132 has been offset away from direction of tilt, the fade inintensity to the outer edge of the impression profile 116 is moregradual in the direction of tilt and more rapid in a direction away fromthe tilt.

FIG. 1C shows an example physical marking implement 124 with a conicaltip 140 oriented at 80 degrees from vertical with respect to ahorizontal tablet surface 108 and a corresponding impression profile 120on the tablet surface 108. When the virtual marking implement 104 haseven greater tilt (e.g., 60 degrees as shown in FIG. 1C), the resultingimpression profile 120 becomes more oblong in the direction of tilt withthe area of greater intensity 132 offset very close to the outer edge ofthe impression profile 120 in the direction away from the tilt. Theimpression profile 120 remains symmetrical about an axis parallel to thetablet surface 108 oriented in the direction of the tilt of the virtualmarking implement 104. Similar to impression profiles 112 and 116,impression profile 120 fades in intensity with distance from the area ofgreater intensity 132 of the impression profile 120 to an outer edge ofthe impression profile 120. However, since impression profile 120 ismore oblong and the area of greater intensity 132 is offset further awayfrom direction of tilt and close to the outer edge of the impressionprofile 120, the fade in intensity to the outer edge of the impression116 is even more gradual in the direction of tilt and even more rapid inthe direction away from the tilt.

Impression profiles 112, 116, and 120 are specific to physical markingimplements with a conical marking tip 140 such as pencils, markers,crayons, and felt pens. Other impression profiles consistent with otherphysical marking implements are contemplated herein and discussed below.

FIG. 2A shows an example physical marking implement 224 with a flat tip244 oriented vertically with respect to a horizontal tablet surface 208and a corresponding impression profile 212 on the tablet surface 208.When the virtual marking implement 204 has zero tilt, as in FIG. 2A, theresulting impression profile 212 is circular with a uniform intensity232 across the impression profile 212 and an abruptly fading intensitynear the outer edge, here an outer diameter, of the impression profile212. This impression profile 212 is intended to model an implementsurface of a flat physical marking implement tip 244 (e.g., a pencileraser) against a marking surface. The mark intensity is uniform acrossthe cross-section of the physical marking implement 224 contacting themarking surface (contact area) and the intensity abruptly fades to zeronear the edge of the point of contact with the surface. This is becausethe pressure of the implement surface against the marking surface isgenerally uniform.

FIG. 2B shows an example physical marking implement 224 with a flat tip244 oriented at 45 degrees from vertical with respect to a horizontaltablet surface 208 and a corresponding impression profile 216 on thetablet surface 208. When the virtual marking implement 204 has some tilt(e.g., 30 degrees as shown in FIG. 2B), the resulting impression profile216 becomes oblong in a direction perpendicular to the direction of tiltwith an area of greater intensity 232 at the center of the impressionprofile 216. The impression profile 216 remains symmetrical about axesparallel to the tablet surface 208 oriented in the direction of the tiltof the virtual marking implement 204 and perpendicular to the directionof tilt. Impression profile 216 fades in intensity with distance fromthe area of greater intensity 232 of the impression profile 216 to anouter edge of the impression profile 216.

FIG. 2C shows an example physical marking implement 224 with a flat tip244 oriented horizontally with respect to a horizontal tablet surface208 and a corresponding impression profile 220 on the tablet surface208. When the virtual marking implement 204 has even greater tilt (e.g.,60 degrees as shown in FIG. 2C), the resulting impression profile 220rapidly becomes oblong in the direction of tilt as the modeled physicalmarking implement 224 is laid flat on the tablet surface 208. Theresulting impression profile 220 of a 90 degree tilt is an oblong shapewith a length equal to nearly equal to a length of a marking portion ofthe modeled physical marking implement 224. The impression profile 220remains symmetrical about axes parallel to the tablet surface 208 andoriented in the direction of the tilt and direction perpendicular to thetilt of the virtual marking implement 204. The uniform area of greaterintensity fades rapidly in directions perpendicular to the tiltdirection.

Impression profiles 212, 216, and 220 are specific to physical markingimplements with a flat marking end 244 such as erasers. Other impressionprofiles consistent with other physical marking implements arecontemplated and discussed herein.

FIG. 3A shows an example virtual marking implement 324 with a round tip348 oriented vertically with respect to a horizontal tablet surface 308and a corresponding impression profile 312 on the tablet surface 308.When the virtual marking implement 304 has zero tilt, as in FIG. 3A, theresulting impression profile 312 is circular with an area of greaterintensity 332 at the center of the impression profile 312 and auniformly fading intensity with distance from the center of theimpression to an outer edge, here an outer diameter, of the impressionprofile 312. This impression profile 312 is intended to model animplement surface of a rounded physical marking implement tip 348 (e.g.,a rounded piece of chalk) contacting a marking surface. The mark is thestrongest at a center of a contact area of the physical markingimplement 324 and the intensity quickly fades to zero away from thecenter of the point of contact. The fading of intensity parallels thereduction of pressure away from the center of the contact area for therounded physical marking implement tip 348 against the marking surface.

FIG. 3B shows an example virtual marking implement 324 with a round tip348 oriented 45 degrees from vertical with respect to a horizontaltablet surface 308 and a corresponding impression profile 316 on thetablet surface 308. When the virtual marking implement 304 has some tilt(e.g., 30 degrees as shown in FIG. 3B), the resulting impression profile316 remains the same as impression profile 312. The impression profile316 remains symmetrical about axes parallel to the tablet surface 308oriented in the direction of the tilt of the virtual marking implement304 and perpendicular to the direction of tilt. Impression profile 316fades in intensity with distance from the area of greater intensity 332of the impression profile 316 to an outer edge of the impression profile316.

FIG. 3C shows an example virtual marking implement 324 with a round tip348 oriented horizontally with respect to a horizontal tablet surface308 and a corresponding impression profile 320 on the tablet surface308. When the virtual marking implement 304 has even greater tilt (e.g.,60 degrees as shown in FIG. 3C), the resulting impression profile 320rapidly becomes oblong in the direction of tilt as the modeled physicalmarking implement 324 is laid flat on the surface. The resultingimpression profile 320 of a 90 degree tilt is an oblong shape with alength equal to nearly equal to a length of the modeled physical markingimplement 324. The impression profile 320 remains symmetrical about anaxis parallel to the tablet surface 308 and oriented in the direction ofthe tilt of the virtual marking implement 304. The uniform area ofgreater intensity fades rapidly in directions perpendicular to the tiltdirection.

Impression profiles 312, 316, and 320 are specific to physical markingimplements with a round marking end 348 such as rounded chalk. Otherimpression profiles consistent with other physical marking implementsare contemplated and discussed herein.

Referring to FIGS. 4A-AC, a user may utilize an electronic tablet 436and a virtual marking implement 424 to input changes in tilt asdescribed above with respect to FIGS. 1A-3C. The user orients thevirtual marking implement 424 at the desired tilt in x and y directionsand contacts the tablet surface 408 at a contact area 428.

In one implementation, virtual marking implement 424 may measure tiltangle and/or direction directly and send that information to a computer.In other implementations, the computer may collect various position datafrom the virtual marking implement 424 and calculate the tilt of thevirtual marking implement 424 based on the collected position data.Further, the x-direction tilt and y-direction tilt may be collected as atilt angle and directional bearing of the tilt. Alternatively, thex-direction tilt and y-direction may be collected directly andsubsequently converted to a tilt angle and directional bearing of thetilt.

In still further implementations, tilt angle and/or direction aredetermined when the virtual marking implement 424 contacts or comes inclose contact with the electronic tablet 436. In other implementations,the computer may monitor the tilt and/or position data sent from thevirtual marking implement 424 so long as the virtual marking implement424 is within range of the computer. Further, the virtual markingimplement 424 may utilize accelerometers to determine tilt angle,however, other means for measuring and/or calculating tilt angle anddirection are contemplated.

FIG. 4A is a plan view of an example virtual marking system 400 with avirtual tablet 436 and a virtual marking implement 424 with an area ofcontact position 428 measured in an x-direction and a y-direction. Sideedges of the electronic tablet 436 are aligned with coordinate axes xand y. The virtual marking implement 424 is contacting the tabletsurface 408 at a contact area 428 defined by distance a in thex-direction and distance b in the y-direction. Further, the virtualmarking implement 424 is shown with a tilt angle in the positivex-direction and negative y-direction.

FIG. 4B is an elevation view of the example virtual marking system 400of FIG. 4 illustrating a tilt of the virtual marking implement 424 inthe x-direction. Coordinate axis x is aligned with a side edge of theelectronic tablet 436 and coordinate axis z is perpendicular to thetablet surface 408. The virtual marking implement 424 is contacting thetablet surface 408 at the contact area 428 defined by distance a in thex-direction. Further, the virtual marking implement 424 is shown with atilt angle in the positive x-direction.

FIG. 4C is an elevation view of the example virtual marking system 400of FIG. 4 illustrating a tilt of the virtual marking implement 424 inthe y-direction. Coordinate axis y is aligned with another side edge ofthe electronic tablet 436 and coordinate axis z is perpendicular to thetablet surface 408. The virtual marking implement 424 is contacting thetablet surface 408 at the contact area 428 defined by distance b in they-direction. Further, the virtual marking implement 424 is shown with atilt angle in the negative y-direction.

The generation of an impression profile is based on information receivedfrom the user including: selection of a physical marking implement anddimensional information of the physical marking implement. In someimplementations, the dimensional information of the physical markingimplement is predefined based on common attributes of the selectedphysical marking implement. In other implementations, the dimensionalinformation of the selected physical marking implement is customizableby the user. For example, the user may specify the physical markingimplement's length, diameter, x-sectional profile, and tip angle, andother properties specific to the physical marking implement that theuser wishes to model. Further, the generation of an impression profileis based on information received from the virtual marking implementincluding tilt angle and tilt bearing (or alternatively x-direction tiltand y-direction tilt).

In one implementation, impression profiles are created using bitmapswith bits having varying intensities corresponding to a modeled physicalmark. A series of bitmaps are rendered on an electronic presentationdevice in real-time corresponding to dimensional information andphysical properties of the physical marking implement as the tilt anglechanges. Further, the maximum size of the bitmap is defined by adimension of the modeled physical marking implement. In oneimplementation, the dimension is the greater of the length and width ofa marking portion of the physical marking implement. Therefore, theheight and width of the maximum bitmap are equal to the greater of thelength and width of the marking portion of the physical markingimplement. However, the actual size of each rendered bitmap variesaccording to the tilt angle.

Further, in some implementations, the orientation of each renderedbitmap varies according to bearing of the tilt. More specifically, theheight and width of each rendered bitmap is defined by the tilt angleand the orientation of height and width with respect to an x-directionand a y-direction is defined by the bearing of the tilt. Thiscalculation is commonly performed by an affine transform.

The affine transform may be used to scale each rendered bitmap in thedirection of the tilt and in directions orthogonal to the tilt. Morespecifically, the affine transform allows the rendered bitmap to bescaled in two separate directions with distinct scaling ratios. In otherimplementations, the orientation of height and width with respect to thex-direction and the y-direction may also be calculated using formulaespecific to the modeled physical marking implement.

In some implementations, the rendered bitmap is smooth (e.g., a marker).In other implementations, the rendered bitmap is grainy (e.g., chalk).The visual appearance of the bitmap on the electronic presentationdevice mimics the appearance of the selected physical marking implementon a surface.

FIG. 5A is an elevation view of a conical tip 540 of an example physicalmarking implement oriented vertically, at 40 degrees, and at 80 degrees,successively. FIG. 5B is an example graph illustrating relationshipsbetween tilt angle and scale factor of a corresponding bitmap of theconical tip 540 of FIG. 5A. The size of the corresponding bitmap isexpressed as two scale factors of a maximum dimension (discussed above).Referring specifically to the scale factor in the direction of tilt 552,when the physical marking implement is oriented at zero degrees of tilt,the scale factor 552 is very low (here 0.1) because the modeled physicalmark is very small. As the physical marking implement is tilted, thescale factor 552 increases, gradually at first because tilt of theconical tip 540 does not initially increase the size of a resulting marksignificantly. However, as the conical tip 540 approaches 80 degrees,which is the orientation where the modeled conical tip 540 is flatagainst a surface 560, the scale factor 552 rapidly increases to 1.

Referring specifically to the scale factor orthogonal to the directionof tilt 556, when the physical marking implement is oriented at zerodegrees of tilt, the scale factor 556 is very low, similar to scalefactor 552. As the physical marking implement is tilted, the scalefactor 556 increases, mirroring scale factor 552, but with much lessmagnitude.

In one implementation (e.g., a pencil, felt pen, and marker), thedimension of the physical marking implement that defines the maximumbitmap size is a length of the exposed lead or felt 554 along a portionof the conical tip 540 (i.e. a marking portion 564). In otherimplementations (e.g., crayons, chalk, charcoal, and pastels), thelength of the entire conical tip 558 along the portion of the conicaltip 540 defines the maximum bitmap size.

FIG. 5C is an example graph illustrating relationships between tiltangle and offset of a center of intensity of the conical tip 540 of FIG.5A. When the physical marking implement is oriented at zero degrees oftilt, the offset is zero because the center of intensity of the modeledphysical mark is in the middle of the modeled physical mark. As thephysical marking implement is tilted, the center of intensity becomesoffset from the center of the modeled physical mark in the directionopposite the direction of tilt. However, as the conical tip 540approaches 80 degrees, which is the orientation where the modeledconical tip 540 is flat against the surface 560, the offset rapidlydrops to zero because the center of intensity is uniform across themodeled physical mark in the direction of the tilt. In theimplementation shown, there is no offset in the direction orthogonal tothe tilt because the center of intensity of the modeled physical markremains in the middle of the modeled physical mark in the directionorthogonal from the direction of tilt.

FIG. 6A is an elevation view of a flat tip 644 of an example physicalmarking implement oriented vertically, at 45 degrees, and at 90 degrees,successively. FIG. 6B is an example graph illustrating relationshipsbetween tilt angle and scale factor of a corresponding bitmap of theflat tip 644 of FIG. 6A. Referring specifically to the scale factor inthe direction of tilt 652, when the physical marking implement isoriented at zero degrees of tilt, the scale factor 652 is fairly low(here 0.3) because the modeled physical mark is the cross-section of thephysical marking implement. As the physical marking implement is tilted,initially the scale factor 652 decreases rapidly to 0.1 because only anedge of the flat tip 644 is in contact with a surface 660. However, asthe flat tip 644 approaches 90 degrees, the orientation where a side ofthe modeled physical marking implement is flat against the surface 660,the scale factor 652 rapidly increases to 1.

Referring specifically to the scale factor orthogonal to the directionof tilt 656, when the physical marking implement is oriented at zerodegrees of tilt, the scale factor 656 is fairly low, similar to scalefactor 652. As the physical marking implement is tilted, the scalefactor 656 decreases, mirroring scale factor 652, but decreasing less.However, unlike scale factor 652, scale factor 656 remains constant asthe flat tip 644 approaches 90 degrees.

In one implementation, the dimension of the physical marking implementthat defines the maximum bitmap size is the greater of a diameter of thephysical marking implement and a length of a marking portion 664 of thephysical marking implement. More specifically, in an implementationwhere the marking portion 664 runs the entire length of the physicalmarking implement (e.g., a crayon without a label, piece of chalk, pieceof charcoal, and pastel)), the greater dimension is the length ratherthan the diameter of the physical marking implement. In anotherimplementation where the marking portion length 662 is only a portion ofthe entire length of the physical marking implement (e.g., a pencileraser and a crayon with a label); the greater dimension may be thediameter rather than the length of the physical marking implement.

FIG. 6C is an example graph illustrating relationships between tiltangle and offset of a center of intensity of the flat tip 644 of FIG.6A. The offset value for the flat physical marking implement tip 644 iszero in all directions for tilt angles ranging from zero degrees toninety degrees because the center of intensity of the modeled physicalmark remains in the middle of the modeled physical mark for all theshown tilt angles.

FIG. 7A is an elevation view of a round tip 748 of an example physicalmarking implement oriented vertically, at 45 degrees, and at 90 degrees,successively. FIG. 7B is an example graph illustrating relationshipsbetween tilt angle and scale factor of a corresponding bitmap of theround tip 748 of FIG. 7A. Referring specifically to the scale factor inthe direction of tilt 752, when the physical marking implement isoriented at zero degrees of tilt, the scale factor 752 is fairly low(here 0.3) because the modeled physical mark is a point of contact ofthe round tip 748 of the physical marking implement with a surface. Asthe physical marking implement is tilted, initially the scale factor 752remains the same because the point of contact merely moves to the sideof the round tip 748 but does not significantly change in size or shape.However, as the physical marking implement approaches 90 degrees, whichis the orientation where the modeled physical marking implement is flatagainst a surface 760, the scale factor 752 rapidly increases to 1(assuming a marking portion 764 runs the entire length of the physicalmarking implement). In other implementations where a marking portionlength 766 is only the rounded part of the round tip 748, not theremainder of the length of the physical marking implement and/or roundedtip 748, as the physical marking implement approaches 90 degrees, thescale factor 752 rapidly decreases to zero or near zero.

Referring specifically to the scale factor orthogonal to the directionof tilt 756, the scale factor 756 initially mirrors scale factor 752because the point of contact merely moves to the side of the round tip748 but does not significantly change in size or shape. However, as thephysical marking implement approaches 90 degrees, scale factor 756increases much less than scale factor 752 because the physical markingimplement is relatively long in the direction of scale factor 752 andrelatively thin in the direction of scale factor 756.

In one implementation, the dimension of the physical marking implementthat defines the maximum bitmap size is the greater of a diameter of thephysical marking implement and a length of the marking portion 764 ofthe physical marking implement. More specifically, in an implementationwhere the marking portion 764 runs the entire length of the physicalmarking implement (e.g., a crayon without a label, piece of chalk, pieceof charcoal, and pastel)), the greater dimension is the length ratherthan the diameter of the physical marking implement. In anotherimplementation where the marking portion length 766 is only a portion ofthe entire length of the physical marking implement (e.g., a pencileraser and a crayon with a label); the greater dimension may be thediameter rather than the length of the physical marking implement.

FIG. 7C is an example graph illustrating relationships between tiltangle and offset of a center of intensity of the round tip 748 of FIG.7A. An offset value in all directions is zero for tilt angles rangingfrom zero degrees to ninety degrees because the center of intensity ofthe modeled physical mark remains in the middle of the modeled physicalmark for all the shown tilt angles.

In some implementations, the relationship between tilt angle and size ofa corresponding bitmap in a direction perpendicular to the tilt is thesame as in the direction of the tilt. In other implementations, therelationship between tilt angle and size of a corresponding bitmap in adirection perpendicular to the tilt is different from the relationshipbetween tilt angle and size of a corresponding bitmap in the directionof the tilt.

FIG. 7 shows an example virtual marking implement 704 at threeorientations (A, B, and C) with respect to a tablet surface 708 andthree corresponding bitmaps 740, 744, and 748. Bitmaps 740, 744, and 748are constrained to a bit number corresponding to a maximum dimension ofthe modeled physical marking implement (discussed above). The modeledphysical marking implement 724 has a conical tip 740, similar to that ofFIG. 1 and Graphs A of FIG. 5.

FIG. 8A shows an example physical marking implement 824 with a conicaltip 840 oriented vertically with respect to a horizontal tablet surface808 and a corresponding bitmap 870. Bitmap 870 is square with arelatively small scale factor (e.g., four bits by four bits).

FIG. 8B shows an example physical marking implement 824 with a conicaltip 840 oriented at 40 degrees from vertical with respect to ahorizontal tablet surface 808 and a corresponding bitmap 874. Bitmap 874becomes larger and oblong in a direction of tilt when compared to bitmap870 (e.g., eight bits by twenty bits).

FIG. 8C shows an example physical marking implement 824 with a conicaltip 840 oriented at 80 degrees from vertical with respect to ahorizontal tablet surface 808 and a corresponding bitmap 878. Bitmap 878becomes even larger and more oblong in the direction of tilt whencompares to bitmap 870 and bitmap 874 (e.g., twelve bits by forty bits).In one implementation, forty bits corresponds to the maximum dimensionof the modeled physical marking implement 824.

Similarly, bitmaps may be generated for tip orientations other thanconical tips (e.g., flat tips and round tips). Such bitmaps will stillbe constrained to a bit number corresponding to a maximum dimension ofthe modeled physical marking implement. Bitmaps for each tip orientationwill depend on the form factor of the impression profile at each tiltangle.

Once a bitmap size is determined, an intensity value is determined foreach of the bits in the bitmap. The intensity value for each bit mimicsan intensity of the corresponding location in a mark made by a physicalmarking implement on a surface. The resulting bitmap with intensities isthe impression profile discussed above with respect to FIGS. 1A-3C.

FIG. 9 shows an example look-up table 900 for impression profilesindexed by tilt, bearing, and type of physical marking implement. Morespecifically, the example look-up table 900 is for a pencil and showsexample impression profiles for the pencil at 0 degrees tilt and 0degrees bearing; 20 degrees tilt and 30 degrees bearing; and 40 degreestilt and 60 degrees bearing. The selected tilt and bearing combinationsshown in example look-up table 900 are examples only. There may be manymore combinations of tilt, bearing, and type of physical markingimplement indexed in look-up tables. Further, additional properties maybe included in the look-up tables. In one implementation, all possiblebearings and types of physical marking implements are tabulated for eachtilt angle.

In another implementation, at least one tip geometry for each availablephysical marking implement oriented at each available tilt angle andbearing is saved in a database associated with a drawing application.Further, multiple tip geometries for each physical marking implement maybe stored in the database corresponding to multiple lengths, widths, orother variable properties of the selected physical marking implement. Inone implementation, a user selects a physical marking implement in thedrawing application. In another implementation, the user modifiesdefault tip geometry associated with the selected physical markingimplement thereby creating a custom tip geometry. In still otherimplementations, the user creates a tip geometry from scratch usingdimensional and marking characteristics of the physical markingimplement that the user wishes to model.

All bitmaps for a selected tip geometry are generated based on thelook-up tables. The drawing application monitors a tablet surface forcontact by a virtual marking implement. Once the virtual markingimplement makes contact with the tablet surface, the computerapplication reads tilt and bearing information (or alternatively tilt inx-direction and y-direction) and selects the bitmap that correspondsbest to the measured tilt and bearing information. The drawingapplication then adjusts the bitmap and renders the appropriate mark ona presentation device. In one implementation, the drawing applicationrepeatedly monitors the tablet surface for tilt and bearing informationat a high rate and adjusts the rendering as the user changes tilt andbearing of the virtual marking implement. This may be done rapidlyand/or at a high rate to render the marking for the user in real-time.

In an alternative implementation, the look-up tables may not containimpression profiles for all available bearing and tilt angles. Thedrawing application can calculate in real-time changes in impressionprofile based on changes in tilt and/or angle by applying a functionthat modifies a stored impression profile to the appropriate tilt andbearing.

In yet another implementation, the drawing application renders marks ona presentation device without the use of the one or more look-up tables.Here, the drawing application reads tilt and bearing information andgenerates bitmaps in real-time that correspond best to the measured tiltand bearing information based on a combination of physical markingimplement settings, curves, and measurements. The drawing applicationthen adjusts the bitmaps and renders the appropriate impression profileson the presentation device.

In still another implementation, bitmaps are generated in real-time andstored in a cache. While rendering marks on the presentation device, thedrawing application retrieves bitmaps from the cache corresponding tomeasured tilt and bearing information. If an appropriate bitmap does notexist in the cache for the measured tilt and bearing information, thedrawing application generates a new bitmap for that combination of tiltand bearing and stores the new bitmap in the cache.

FIG. 10 is a flow chart illustrating an example process for creatingimpression bitmaps based on impression profiles defined by tilt andbearing of a selected physical marking tool. A drawing applicationdetects a profile change event input from the user 1010. The profilechange event is any input that results in a modification of theimpression profile. For example, the user may create a new tip geometry,select a different physical marking implement, or modify the selectedphysical marking implement. Further, the user may change the orientationof a virtual marking implement resulting in a different tilt and/orbearing of the virtual marking implement.

Next, the drawing application determines the maximum bitmap size of theselected physical marking implement 1020. The drawing application thendetermines tip geometry based on the selected physical marking implementand/or user created tip geometry 1030. Using the selected tip geometryand determined maximum bitmap size, the drawing application thenretrieves tip parameter sets that define properties of the selectedphysical marking implement 1040. These properties include, but are notlimited to, scaling factors, intensity curves or functions, andimpression profile look-up tables.

The drawing application then determines bitmap sizes by applying scalefactors based on tilt angles to the maximum bitmap size of the selectedphysical marking implement 1050. There may be separate scale factors fortilt in the x-direction and the y-direction, or alternatively each scalefactor may apply to tilt in both the x-direction and the y-direction.The drawing application then determines an offset dimension based on thetilt of the virtual marking implement 1060. The offset dimension definesthe direction and magnitude of an offset between the center of intensityof each bitmap with respect to the dimensional center of each bitmap.Generally, at zero degrees of tilt, the offset dimension is zero. Theoffset dimension may increase when the virtual marking implement istilted.

An intensity profile is generated based on the tip parameter set, thebitmap size, and the offset dimension 1070. The intensity profile isapplied to the bitmap size to generate a bitmap unique to a specificcombination of tip geometry, tilt, and bearing 1080.

FIG. 11 is a flow chart illustrating an example process for rendering animpression profile based on tilt and bearing of a selected physicalmarking tool. A set of bitmaps unique to a specific combination of tipgeometry, tilt, and bearing are created 1110. See FIG. 10 for example. Adrawing application detects a marking event input from a user 1120. Themarking event is an input that is intended to result in a rendering ofan impression profile on an electronic presentation device. For example,the user may contact a surface of an electronic tablet with a virtualmarking implement and drag the virtual marking implement across theelectronic tablet.

Once the drawing application detects a marking event, the drawingapplication reads a tilt measurement and a bearing measurement from thevirtual marking implement 1130. Then, the drawing application selects abitmap from the set of bitmaps that best corresponds to the tilt andbearing measurement 1140. Finally, utilizing the geometry and intensitydistribution of the selected bitmap, the drawing application renders theimpression profile on the electronic display 1150. In anotherimplementation, the “create bitmaps” operation 1110 is performed inreal-time by the drawing application based on the “read a tilt andbearing measurement” operation 1130.

FIG. 12 illustrates an example computing system that can be used toimplement the described technology. A general purpose computer system1200 is capable of executing a computer program product to execute acomputer process. Data and program files may be input to the computersystem 1200, which reads the files and executes the programs therein.Some of the elements of a general purpose computer system 1200 are shownin FIG. 12 wherein a processor 1202 is shown having an input/output(I/O) section 1204, a Central Processing Unit (CPU) 1206, and a memorysection 1208. There may be one or more processors 1202, such that theprocessor 1202 of the computer system 1200 comprises a singlecentral-processing unit 1206, or a plurality of processing units,commonly referred to as a parallel processing environment. The computersystem 1200 may be a conventional computer, a distributed computer, orany other type of computer. The described technology is optionallyimplemented in software devices loaded in memory 1208, stored on aconfigured DVD/CD-ROM 1210 or storage unit 1212, and/or communicated viaa wired or wireless network link 1214 on a carrier signal, therebytransforming the computer system 1200 in FIG. 12 to a special purposemachine for implementing the described operations.

The I/O section 1204 is connected to one or more user-interface devices(e.g., a keyboard 1216 and a display unit 1218), a disk storage unit1212, and a disk drive unit 1220. Display unit 1218 may be anypresentation device adapted to present information to a user. Generally,in contemporary systems, the disk drive unit 1220 is a DVD/CD-ROM driveunit capable of reading the DVD/CD-ROM medium 1210, which typicallycontains programs and data 1222. Computer program products containingmechanisms to effectuate the systems and methods in accordance with thedescribed technology may reside in the memory section 1204, on a diskstorage unit 1212, or on the DVD/CD-ROM medium 1210 of such a system1200. Alternatively, a disk drive unit 1220 may be replaced orsupplemented by a floppy drive unit, a tape drive unit, or other storagemedium drive unit. The network adapter 1224 is capable of connecting thecomputer system to a network via the network link 1214, through whichthe computer system can receive instructions and data embodied in acarrier wave. Examples of such systems include Intel and PowerPC systemsoffered by Apple Computer, Inc., personal computers offered by DellCorporation and by other manufacturers of Intel-compatible personalcomputers, AMD-based computing systems and other systems running aWindows-based, UNIX-based, or other operating system. It should beunderstood that computing systems may also embody devices such asPersonal Digital Assistants (PDAs), mobile phones, gaming consoles, settop boxes, etc.

When used in a LAN-networking environment, the computer system 1200 isconnected (by wired connection or wirelessly) to a local network throughthe network interface or adapter 1224, which is one type ofcommunications device. When used in a WAN-networking environment, thecomputer system 1200 typically includes a modem, a network adapter, orany other type of communications device for establishing communicationsover the wide area network. In a networked environment, program modulesdepicted relative to the computer system 1200 or portions thereof, maybe stored in a remote memory storage device. It is appreciated that thenetwork connections shown are exemplary and other means of andcommunications devices for establishing a communications link betweenthe computers may be used.

In an example implementation, a drawing module that performs operationsdescribed herein may be incorporated as part of the operating system,application programs, or other program modules. Further, a databasecontaining impression profile look-up tables may be stored as programdata in memory 1208 or other storage systems, such as disk storage unit1212 or DVD/CD-ROM medium 1210.

The present specification provides a complete description of themethodologies, systems and/or structures and uses thereof in exampleimplementations of the presently-described technology. Although variousimplementations of this technology have been described above with acertain degree of particularity, or with reference to one or moreindividual implementations, those skilled in the art could make numerousalterations to the disclosed implementations without departing from thespirit or scope of the technology hereof. Since many implementations canbe made without departing from the spirit and scope of the presentlydescribed technology, the appropriate scope resides in the claimshereinafter appended. Other implementations are therefore contemplated.Furthermore, it should be understood that any operations may beperformed in any order, unless explicitly claimed otherwise or aspecific order is inherently necessitated by the claim language. It isintended that all matter contained in the above description and shown inthe accompanying drawings shall be interpreted as illustrative only ofparticular implementations and are not limiting to the embodimentsshown. Changes in detail or structure may be made without departing fromthe basic elements of the present technology as defined in the followingclaims.

1. A method of presenting on a presentation device a mark modeling acontact area between an implement surface and a marking surface, themethod comprising: receiving a marking event that specifies a bearingand a tilt measurement of a tilt sensitive input device; determining ageometry of the mark and an intensity distribution within the mark basedon the bearing and the tilt measurement, wherein determining includesdetermining an offset between a center of intensity of the mark and adimensional center of the mark based on the tilt measurement; andpresenting the mark via the presentation device.
 2. The method of claim1, wherein the marking event further specifies a pressure measurement ofthe tilt sensitive input device and one or both of the geometry of themark and intensity distribution within the mark are further based on thepressure measurement.
 3. The method of claim 1, further comprising:selecting a tip geometry corresponding to a physical marking implement,wherein one or both of the geometry of the mark and the intensitydistribution of the mark are based on the selected tip geometry.
 4. Themethod of claim 1, further comprising: mapping the geometry of the markto an impression bitmap with a bitmap size, wherein the bitmap size is amaximum bitmap size multiplied by a scale factor corresponding to thetilt measurement.
 5. The method of claim 1, wherein the implementsurface is customizable by a user.
 6. The method of claim 1, wherein theimplement surface is defined by a combination of user defined tipgeometry properties.
 7. A system for presenting a mark modeling acontact area between an implement surface and a marking surface, thesystem comprising: a tilt sensitive input device configured to input amarking event that indicates a bearing and a tilt measurement of thetilt sensitive input device; a determining module configured todetermine a geometry of the mark and an intensity distribution withinthe mark based on the bearing and the tilt measurement, whereindetermining includes determining an offset between a center of intensityof the mark and a dimensional center of the mark based on the tiltmeasurement; and a presentation device configured to present the mark.8. The system of claim 7, further comprising: rendering circuitryconfigured to render the mark on the presentation device.
 9. The systemof claim 7, wherein the marking event further specifies a pressuremeasurement of the tilt sensitive input device and one or both of thegeometry of the mark and intensity distribution within the mark arefurther based on the pressure measurement.
 10. The system of claim 7,wherein the tilt sensitive input device is further configured to selecta tip geometry corresponding to a physical marking implement, andwherein one or both of the geometry of the mark and the intensitydistribution of the mark are based on the selected tip geometry.
 11. Thesystem of claim 7, further comprising: a mapping module configured tomap the geometry of the mark to an impression bitmap with a bitmap size,wherein the bitmap size is a maximum bitmap size multiplied by a scalefactor corresponding to the tilt measurement.
 12. The system of claim 7,wherein the implement surface is customizable by a user.
 13. The systemof claim 7, wherein the implement surface is defined by a combination ofuser defined tip geometry properties.
 14. A method of presenting on apresentation device a mark modeling a contact area between an implementsurface and a marking surface, the method comprising: receiving amarking event that specifies a bearing and a tilt measurement of a tiltsensitive input device; finding a bitmap that corresponds to the tiltmeasurement in a look-up table, wherein a geometry of the bitmap and anintensity distribution within the bitmap are based on the tiltmeasurement, the bitmap including an offset between a center ofintensity of the bitmap and a dimensional center of the bitmap;adjusting the bitmap based on the tilt measurement and the bearing toproduce a mark; and presenting the mark via the presentation device. 15.The method of claim 14, wherein the marking event further specifies apressure measurement of the tilt sensitive input device and the bitmapis further adjusted based on the pressure measurement.
 16. The method ofclaim 14, further comprising: selecting a tip geometry corresponding toa physical marking implement, wherein the selected bitmap furthercorresponds to the selected tip geometry in the look-up table.
 17. Themethod of claim 14, wherein the implement surface is customizable by auser.
 18. The method of claim 14, wherein the implement surface isdefined by a combination of user defined tip geometry properties.